package main

import (
    "fmt"
    "net"
)

func main() {
    // 监听的本地IP地址和端口，这里使用本地的8888端口，可按需替换
    listenAddr := "127.0.0.1:8888"
    // 开始监听
    listener, err := net.Listen("tcp", listenAddr)
    if err!= nil {
        fmt.Println("监听端口失败:", err)
        return
    }
    defer listener.Close()

    fmt.Println("服务器已启动，正在等待客户端连接...")

    for {
        // 接受客户端连接
        conn, err := listener.Accept()
        if err!= nil {
            fmt.Println("接受客户端连接失败:", err)
            continue
        }

        go handleConnection(conn)
    }
}

func handleConnection(conn net.Conn) {
    defer conn.Close()

    // 读取客户端发送的数据
    buffer := make([]byte, 1024)
    n, err := conn.Read(buffer)
    if err!= nil {
        fmt.Println("读取客户端数据失败:", err)
        return
    }

    // 输出客户端发送的消息内容
    receivedMessage := string(buffer[:n])
    fmt.Printf("从客户端接收到: %s\n", receivedMessage)

    // 向客户端发送响应消息（这里简单回复一个确认消息）
    response := []byte("已收到你的消息，客户端！")
    _, err = conn.Write(response)
    if err!= nil {
        fmt.Println("向客户端发送响应消息失败:", err)
        return
    }
}